// pages/category/index.js
import {
  request
} from '../../request/index'
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //左边菜单名字
    leftMenuList: [],
    //右边商品内容
    rightContent: [],
    //控制菜单选中的index
    currentIndex: 0,
    //控制scroll与小程序顶部的距离
    scrollTop: 0
  },
  //接口返回的数据
  Cates: [],

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    //若是刷新页面都要发起AJAX请求数据必会造成数据负担，所有我们应该在第一次请求数据后将数据存于本地
    //缓存中，以后再每一次页面onload的时候先判断本地数据是否存在，有则直接调用，无则发起网络请求
    const Cates = wx.getStorageSync("cates");
    if (!Cates) {
      this.getCategoryList()
    } else {
      if (Date.now() - Cates.time > 1000 * 10) {
        this.getCategoryList()
      } else {
        this.Cates = Cates.data
        let leftMenuList = this.Cates.map(v => v.cat_name);
        let rightContent = this.Cates[0].children;
        this.setData({
          leftMenuList,
          rightContent
        })
      }
    }


  },
  // 请求分类页面数据的方法
  async getCategoryList() {
    const res = await request({
      url: '/categories'
    })
    console.log(res)
    this.Cates = res
    wx.setStorageSync("cates", {
      time: Date.now(),
      data: this.Cates
    });
    const leftMenuList = this.Cates.map(v => v.cat_name)
    const rightContent = this.Cates[0].children
    this.setData({
      leftMenuList,
      rightContent
    })
  },
  // 点击切换分类商品事件
  handleRightContent(e) {
    const {
      index
    } = e.currentTarget.dataset

    let rightContent = this.Cates[index].children
    this.setData({
      rightContent,
      currentIndex: index,
      scrollTop: 0

    })
  }
})